/**
 * @file StdLogger.hh
 * @author Bono.ASUN.TamGitsun (gitsun.tam@outlook.com)
 * @brief 
 * @version 0.1
 * @date 2022-02-07
 * 
 * @copyright Copyright (c) 2022
 * 
 */


#pragma once


#include "Logger.hh"


namespace TGS::utils {


class StdLogger: public Logger
{
public:
    virtual void log_v(const std::string & message);
    virtual void log_d(const std::string & message);
    virtual void log_i(const std::string & message);
    virtual void log_w(const std::string & message);
    virtual void log_e(const std::string & message);
    virtual void log_wtf(const std::string & message);

    virtual void log_v(const char * fmt, ...);
    virtual void log_d(const char * fmt, ...);
    virtual void log_i(const char * fmt, ...);
    virtual void log_w(const char * fmt, ...);
    virtual void log_e(const char * fmt, ...);
    virtual void log_wtf(const char * fmt, ...);
};


}
